1. Field of the Invention
The present invention relates to a memory address generating apparatus, a processor having the same, and a memory address generating method.
2. Description of the Related Art
An accessible memory such as a program memory or a data memory is incorporated in or attached externally to a microcomputer or a processor that performs a signal process such as a DSP. Addressing modes of processor for accessing such a memory include a direct addressing mode, an indirect addressing mode, a relative addressing mode, a base addressing mode, etc. Therefore, to achieve these addressing modes, the processor is equipped with a memory address generating apparatus that generates addresses for accessing the memory. See for example Japanese Patent Application Laid-Open Publication No. H06-337812.
By the way, as the processor is required to perform more sophisticated and complicated processes, the memory is required to store more volume of data, which is continuously increasing year by year. Under such a situation, for example, in one of the processors, DSP (Digital Signal Processor), when a digital filter calculation (FIR (Finite Impulse Response), IIR (Infinite Impulse Response), etc.) is performed which includes multiplication, accumulation, etc., while the same multiplier and adder are used, a plurality of processes is performed by dynamically switching the filter coefficients of the digital filter calculation. In this case, the filter coefficients include a mixture of static data that will be common contents in a plurality of processes and dynamic data that will be different contents in a plurality of processes. Therefore, while the processor stores the static data and dynamic data for each of a plurality of processes in the memory, this is redundant and contributes to the increase of the usage capacity of the memory, since a plurality of the static data is stored in the memory although the static data have the common contents for each process.
Additionally, for example, if the memory is a mask ROM, a bug may be discovered in a program stored in the mask ROM or the program contents may be changed along with the change in the system specification after the mask ROM is manufactured. In such a case, since the mask ROM is difficult to rewrite for debugging or changing the program because of the nature of the mask ROM, the bug or the unchanged program is stored in the mask ROM without modification. This also contributes to the increase of the usage capacity of the memory.